// Generated from minisyys.g4 by ANTLR 4.9.2
import org.antlr.v4.runtime.tree.ParseTreeVisitor;

/**
 * This interface defines a complete generic visitor for a parse tree produced
 * by {@link minisyysParser}.
 *
 * @param <T> The return type of the visit operation. Use {@link Void} for
 * operations with no return type.
 */
public interface minisyysVisitor<T> extends ParseTreeVisitor<T> {
	/**
	 * Visit a parse tree produced by {@link minisyysParser#file}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFile(minisyysParser.FileContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#globalVar}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitGlobalVar(minisyysParser.GlobalVarContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#functionDefinition}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFunctionDefinition(minisyysParser.FunctionDefinitionContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#name}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitName(minisyysParser.NameContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#type}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitType(minisyysParser.TypeContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#functionBody}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFunctionBody(minisyysParser.FunctionBodyContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#compoundstatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitCompoundstatement(minisyysParser.CompoundstatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#statement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitStatement(minisyysParser.StatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#selectionstatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitSelectionstatement(minisyysParser.SelectionstatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#whilestatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitWhilestatement(minisyysParser.WhilestatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#jumpstatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitJumpstatement(minisyysParser.JumpstatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#retstatement}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRetstatement(minisyysParser.RetstatementContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#functionCall}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitFunctionCall(minisyysParser.FunctionCallContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#expressionList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExpressionList(minisyysParser.ExpressionListContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#expression}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitExpression(minisyysParser.ExpressionContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#andExpr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAndExpr(minisyysParser.AndExprContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#eqExpr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitEqExpr(minisyysParser.EqExprContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#relExpr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitRelExpr(minisyysParser.RelExprContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#addExpr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAddExpr(minisyysParser.AddExprContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#mulExpr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitMulExpr(minisyysParser.MulExprContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#opExpr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitOpExpr(minisyysParser.OpExprContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#unop}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitUnop(minisyysParser.UnopContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#atom}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAtom(minisyysParser.AtomContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#lookup}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitLookup(minisyysParser.LookupContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#index}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIndex(minisyysParser.IndexContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#declarationarId}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDeclarationarId(minisyysParser.DeclarationarIdContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#declarationId}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitDeclarationId(minisyysParser.DeclarationIdContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#arr}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitArr(minisyysParser.ArrContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#iniList}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIniList(minisyysParser.IniListContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#ini}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitIni(minisyysParser.IniContext ctx);
	/**
	 * Visit a parse tree produced by {@link minisyysParser#ass}.
	 * @param ctx the parse tree
	 * @return the visitor result
	 */
	T visitAss(minisyysParser.AssContext ctx);
}